, , , , ,

Comment envoyer l’adresse IP de sa box automatiquement par courriel (SMTP) en ligne de commande ?

FIXME Merci d'utiliser le bouton « Aperçu » avant d'enregistrer, cf. « Les bonnes pratiques »

Envoyer un mail par SMTP en ligne de commande

Installation

Installez le paquet msmtp.

Si vous aviez déjà installé des paquets désormais inutiles, un petit rappel sur la suppression d'un paquet.

Configuration

Ne pas utiliser de commande sudo. C'est bien l'utilisateur qui envoie les mails.
nano .msmtprc
account default
host smtp.monfai.fr
from prenom.nom@monfai.fr
auth off
#auth on
#si jamais auth off ne passe pas
user prenom.nom
#si votre fai vous identifie plus clairement si vous reprécisez le domaine, alors plutôt cela :
#user prenom.nom@fai.fr
password monmotdepasse
chmod 600 .msmtp

Utilisation

cat readme.txt | msmtp johnny@liday.ch
uuencode application.zip | msmtp johnny@liday.ch

Vérification

Envoyer l'IP de sa box automatiquement

Installation

S'il vous manque GET installez le paquet GET

Récupérer l'IP externe de sa box

GET whatismyip.org
nano getip
GET whatismyip.org > .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sh getip
cat .myip
92.122.18.135
92.122.18.135
92.122.18.135

Envoyer son IP de box à son courriel au bureau

cat .myip | msmtp johnny@whitehouse.gov

Automatiser l'envoi de son IP de box vers le bureau

nano getip
...
cat .myip | msmtp johnny@whitehouse.gov
chmod 700 getip

Utilisation

sh getip

Vérification

Programmation de l'envoi automatique

Par la crontab

Le système crontab intégré à unix/linux permet une programmation simple de l'exécution de commandes et scripts.

Modification de la crontab

crontab -l > cron
On évite systématiquement l'édition par la commande crontab -e, parce que la perte de 50 lignes de programmation sur un serveur de production, ça fait toujours chaud aux oreilles !
nano cron
23 8,12,15,18 * * 1-5 /home/johnny/getip
# à 08:23 12:23 15:23 et 18:23 tous les jours du lundi au vendredi
# parce que les soirs et week-end je suis à la maison
# et que c'est encore plus simple de récupérer mon IP

Injection des modifications de la crontab

crontab cron
Vérification de la crontab
crontab -l
...
23 8,12,15,18 * * 1-5 /home/johnny/getip
...
Nettoyage
rm cron
Remarques :
  • Si l'envoi répété de l'IP sature votre boîte de courriel, à vous de modifier la programmation
  • la configuration de msmtp peut être beaucoup plus pointue, man et documentation peuvent vous aider, en particulier pour des messageries demandant une authentification TLS comme gmail

Références